#include <iostream>

#include "iostream"
#include "vector"
#include "unordered_map"
#include "unordered_set"
#include "algorithm"
#include "string"
#include "list"
#include "string.h"


class OneLoop {
public:
    int tar;
    bool ok(int n){
        int ncpy=n;
        int sum=0;
        int ws=1;
        while(n){
            sum+=n%10;
            if(sum>tar){
                return false;
            }
            ws*=10;
            n/=10;
        }
        if(sum!=tar){
            return false;
        }
        n=ncpy;
        ws/=10;
        while(ws){
            int begin=n%10;
            int end=n/ws;
            if(begin!=end){
                return false;
            }
            n%=ws;
            n/=10;
            ws/=100;
        }
        return true;
    }
    bool run(
            int n
//            std::string&s1,std::string& s2
    ) {
        tar=n;
        bool no= true;
        for(int i=10000;i<1000000;i++){
            if(ok(i)){
                no=false;
                printf("%d\n",i);
            }
        }
        if(no){
            printf("-1\n");
        }
        return false;
    }
};

class Solution {
public:
    void run() {

        bool first = true;
        int a, b, c, d, e;
        //        std::cin >> a;
//        std::string s1,s2;
//        while (1){
        while (
//                std::getline(std::cin,s1)
                std::cin >> a// >> b
//                1
                ) {
//            std::getline(std::cin,s2);
            OneLoop l;
            if (!l.run(a)) {
                return;
            }
        }


    }
};

int main() {

    //    bool cur_num= true;
    Solution().run();
    return 0;
}

